public class sendMoreMoney {
	
	public static void main(String [] args) {
		System.out.println("     send + more -> money");
		for (int send=0; send<=9999; send++){
			for (int more=0; more<=9999; more++){
				int money = send+more;
				if (money>=10000) {
					String str_send,str_more,str_money;
					str_send = String.valueOf(send);
					str_more = String.valueOf(more);
					str_money = String.valueOf(money);					
					char [] chr_send = {'0','0','0','0'}; // inicializo con ceros no significativos
					char [] chr_more = {'0','0','0','0'}; // inicializo con ceros no significativos				
		    		switch (str_send.length()) {
						case 1 : { chr_send[3] = str_send.charAt(0); break;}
						case 2 : { chr_send[3] = str_send.charAt(1); chr_send[2] = str_send.charAt(0); break; }
						case 3 : { chr_send[3] = str_send.charAt(2); chr_send[2] = str_send.charAt(1); chr_send[1] = str_send.charAt(0); break; }
						case 4 : { chr_send = str_send.toCharArray(); break; }			
					}
					switch (str_more.length()) {
						case 1 : { chr_more[3] = str_more.charAt(0); break;}
						case 2 : { chr_more[3] = str_more.charAt(1); chr_more[2] = str_more.charAt(0); break; }
						case 3 : { chr_more[3] = str_more.charAt(2); chr_more[2] = str_more.charAt(1); chr_more[1] = str_more.charAt(0); break; }
						case 4 : { chr_more = str_more.toCharArray(); break; }			
					}
					boolean condicion = (chr_send[1]==str_money.charAt(3))&&(chr_send[2]==str_money.charAt(2)); // evaluo los iguales
 	                condicion = condicion && ((chr_more[0]==str_money.charAt(0))&&(chr_more[1]==str_money.charAt(1))); // evaluo los iguales
                    condicion = condicion && (chr_more[3]==str_money.charAt(3)); // evaluo los iguales
					/*for (int i=0; i<4; i++) // evaluo los distintos
						condicion = condicion && (str_money.charAt(0) != chr_send[i]); // la letra M de money es distinta a todos los caracteres de SEND
					for (int i=0; i<4; i++) // evaluo los distintos
						condicion = condicion && (str_money.charAt(1) != chr_send[i]); // la letra 0 de money es distinta a todos los caracteres de SEND
					for (int i=0; i<4; i++) // evaluo los distintos
						condicion = condicion && (str_money.charAt(4) != chr_send[i]); // la letra Y de money es distinta a todos los caracteres de SEND
				    for (int i=0; i<4; i++) // evaluo los distintos
						condicion = condicion && (str_money.charAt(2) != chr_more[i]); // la letra N de money es distinta a todos los caracteres de MORE
					for (int i=0; i<4; i++) // evaluo los distintos
						condicion = condicion && (str_money.charAt(4) != chr_more[i]); // la letra Y de money es distinta a todos los caracteres de MORE*/
					if (condicion)
						System.out.println("     " + send + "   " + more + " =  " + money);			
				}
			}
		}
	}
}
